package cn.jc.myfile.common.util;

import lombok.extern.slf4j.Slf4j;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

@Slf4j
public class FileUtil {

    public static List<String> getAllFilePaths(File directory) {
        List<String> filePaths = new ArrayList<>();

        // 检查是否为目录
        if (directory.isDirectory()) {
            // 获取目录中的所有文件和子目录
            File[] files = directory.listFiles();

            if (files != null) {
                for (File file : files) {
                    if (file.isDirectory()) {
                        // 递归遍历子目录
                        filePaths.addAll(getAllFilePaths(file));
                    } else {
                        // 添加文件路径
                        filePaths.add(file.getAbsolutePath());
                    }
                }
            }
        } else {
            // 如果不是目录，但可能是文件，则直接添加路径（但在这个例子中，我们传入的是磁盘根目录）
            filePaths.add(directory.getAbsolutePath());
        }

        return filePaths;
    }
}
